using Newtonsoft.Json;

namespace AdminApiTemplate.Common.Models
{
    /// <summary>
    /// 接口返回基类
    /// </summary>
    public class ApiResponseBase
    {
        /// <summary>
        /// 是否需要重新登录
        /// </summary>
        [JsonProperty("relogin")]
        public bool? ReLogin { get; set; }

        /// <summary>
        /// 错误编码
        /// </summary>
        [JsonProperty("errorCode")]
        public int? ErrorCode { get; set; }

        /// <summary>
        /// 错误信息（外部显示用）
        /// </summary>
        [JsonProperty("errorMsg")]
        public string ErrorMsg { get; set; }

        /// <summary>
        /// 错误信息（内部调试用）
        /// </summary>
        [JsonProperty("errorMsg2")]
        public string ErrorMsg2 { get; set; }

        /// <summary>
        /// 每次请求的标识
        /// </summary>
        [JsonProperty("requestId")]
        public string RequestId { get; set; }
    }

    /// <summary>
    /// 接口返回基类
    /// </summary>
    public class ApiResponseBase<T> : ApiResponseBase
    {
        /// <summary>
        /// 数据（请求成功才有此字段，请求失败时没有此字段，只有ErrorCode和ErrorMsg）
        /// </summary>
        [JsonProperty("data")]
        public T Data { get; set; }
    }
}
